<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                template="./template.xhtml"
                xmlns:h="http://xmlns.jcp.org/jsf/html"
                xmlns:f="http://xmlns.jcp.org/jsf/core"
                xmlns:c="http://xmlns.jcp.org/jsp/jstl/core">

    <ui:define name="content">
        <h1>Datos de #{usuarioMBean.usuario.nombre}</h1>

        <f:view>
            <h:form id="perfilForm" >
                <h:panelGrid columns="2" class="perfil">
                    <h:outputText value="Nombre:" />
                    <h:inputText  class="unchangable" value="#{usuarioMBean.usuario.nombre}" required="true" id="Nombre" />

                    <h:outputText  value="Apellidos:" />
                    <h:inputText  class="unchangable" value="#{usuarioMBean.usuario.apellidos}" required="true" id="Apellidos" />

                    <h:outputText value="DNI:" />
                    <h:inputText class="unchangable" value="#{usuarioMBean.usuario.dni}" disabled="true" id="DNI" >
                        <f:validateLength minimum="9" maximum="9" />
                        <f:validateRegex pattern="[0-9]+[a-zA-Z]" />
                    </h:inputText>

                    <h:outputText value="Fecha de Nacimineto:" />
                    <h:inputText class="unchangable" value="#{usuarioMBean.usuario.fechaNacimiento}" disabled="true" >
                        <f:convertDateTime pattern="dd/MM/yyyy" />
                    </h:inputText>

                    <h:outputText value="Correo electrónico:" />
                    <h:inputText value="#{usuarioMBean.usuario.email}" id="Email" >
                        <f:validateRegex pattern="[0-9a-zA-Z._-]+@[0-9a-zA-Z._-]+(\.[0-9a-zA-Z._-]+)+" />
                    </h:inputText>

                    <h:outputText value="Teléfono:" />
                    <h:inputText value="#{usuarioMBean.usuario.telefono}" required="true" id="Telefono" >
                        <f:validateRegex pattern="[+]?[0-9]+" />
                    </h:inputText>

                    <h:outputText value="Contraseña:" />
                    <h:inputSecret value="#{usuarioMBean.usuario.password}" id="Contraseña"/>

                    <c:choose>
                        <c:when test="#{usuarioMBean.isPaciente(usuarioMBean.usuario)}" >
                            <h:outputText value="NUSS:" />
                            <h:inputText class="unchangable" value="#{usuarioMBean.usuario.numSeguridadSocial}" required="true" id="NUSS" >
                                <f:validateLength minimum="9" maximum="9" />
                                <f:validateRegex pattern="[0-9]+" />
                            </h:inputText>
                        </c:when>
                        <c:when test="#{usuarioMBean.isMedico(usuarioMBean.usuario)}" >
                            <h:outputText value="Especialidad:" />
                            <h:inputText class="unchangable" value="#{usuarioMBean.medico.especialidad}" required="true" id="Especialidad" />

                            <h:outputText value="Número Trabajador:" />
                            <h:inputText class="unchangable" value="#{usuarioMBean.medico.numeroTrabajador}" disabled="true" id="NúmTrabajador" />

                            <h:outputText value="Departamento:" />
                            <h:inputText class="unchangable"  value="#{usuarioMBean.medico.departamento}" required="true" id="Departamento" />                            
                        </c:when>
                        <c:when test="#{usuarioMBean.isAdministrativo(usuarioMBean.usuario)}" >
                            <h:outputText value="Número Trabajador:" />
                            <h:inputText class="unchangable" value="#{usuarioMBean.usuario.numeroTrabajador}" disabled="true" id="NúmTrabajador" />

                            <h:outputText value="Departamento:" />
                            <h:inputText class="unchangable"  value="#{usuarioMBean.usuario.departamento}" required="true" id="Departamento" />
                        </c:when>
                        <c:when test="#{usuarioMBean.isAdministrador(usuarioMBean.usuario)}" >
                            <h:outputText value="Número Trabajador:" />
                            <h:inputText class="unchangable" value="#{usuarioMBean.usuario.numeroTrabajador}" disabled="true" id="NúmTrabajador" />
                        </c:when>
                    </c:choose>
                    <div />
                    <h:messages class="loginErrors"/>
                </h:panelGrid>


                <h:commandButton type="button" class="simpleButton" value="Modificar" id="modifyButton" />
                <h:commandButton class="simpleButton" value="Guardar" id="guardarButton" action="#{usuarioMBean.cambiarDatos()}" />
            </h:form>
        </f:view>

    </ui:define>

</ui:composition>
